﻿<!--***********************************************************************************

   Extended WPF Toolkit

   Copyright (C) 2007-2013 Xceed Software Inc.

   This program is provided to you under the terms of the Microsoft Public
   License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license 

   For more features, controls, and fast professional support,
   pick up the Plus Edition at http://xceed.com/wpf_toolkit

   Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids

  **********************************************************************************-->

<UserControl x:Class="Xceed.Wpf.Toolkit.RichTextBoxFormatBar"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:local="clr-namespace:Xceed.Wpf.Toolkit"
             xmlns:conv="clr-namespace:Xceed.Wpf.Toolkit.Core.Converters"
             Background="Transparent"
             IsTabStop="False"
             x:Name="_window">
   <UserControl.Effect>
      <DropShadowEffect BlurRadius="5" Opacity=".25" />
   </UserControl.Effect>

   <UserControl.Resources>

      <conv:ColorToSolidColorBrushConverter x:Key="ColorToSolidColorBrushConverter" />

      <Style TargetType="{x:Type Separator}" BasedOn="{StaticResource {x:Static ToolBar.SeparatorStyleKey}}" />

      <ControlTemplate x:Key="ThumbControlTemplate" TargetType="{x:Type Thumb}">
         <Border Background="Transparent" Cursor="Hand" ToolTip="Click to Drag">
            <StackPanel VerticalAlignment="Center" Width="75">
               <Line SnapsToDevicePixels="True" Stretch="Fill" StrokeDashArray="1,2" StrokeThickness="1" X1="0" X2="1" Margin=".5">
                  <Line.Stroke>
                     <SolidColorBrush Color="Gray" />
                  </Line.Stroke>
               </Line>
               <Line SnapsToDevicePixels="True" Stretch="Fill" StrokeDashArray="1,2" StrokeThickness="1" X1="0" X2="1" Margin=".5">
                  <Line.Stroke>
                     <SolidColorBrush Color="Gray" />
                  </Line.Stroke>
               </Line>
               <Line SnapsToDevicePixels="True" Stretch="Fill" StrokeDashArray="1,2" StrokeThickness="1" X1="0" X2="1" Margin=".5">
                  <Line.Stroke>
                     <SolidColorBrush Color="Gray" />
                  </Line.Stroke>
               </Line>
            </StackPanel>
         </Border>
      </ControlTemplate>

      <SolidColorBrush x:Key="MouseOverBorderBrush" Color="#FFFFB700" />
      <LinearGradientBrush x:Key="MouseOverBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
         <GradientStop Offset="0" Color="#FFFEFBF4" />
         <GradientStop Offset="0.19" Color="#FFFDE7CE" />
         <GradientStop Offset="0.39" Color="#FFFDDEB8" />
         <GradientStop Offset="0.39" Color="#FFFFCE6B" />
         <GradientStop Offset="0.79" Color="#FFFFDE9A" />
         <GradientStop Offset="1" Color="#FFFFEBAA" />
      </LinearGradientBrush>

      <SolidColorBrush x:Key="CheckedBorderBrush" Color="#FFC29B29" />
      <LinearGradientBrush x:Key="CheckedBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
         <GradientStop Offset="0" Color="#FFFFDCA0" />
         <GradientStop Offset="0.18" Color="#FFFFD692" />
         <GradientStop Offset="0.39" Color="#FFFFC45D" />
         <GradientStop Offset="1" Color="#FFFFD178" />
      </LinearGradientBrush>

      <SolidColorBrush x:Key="PressedBorderBrush" Color="#FFC29B29" />
      <LinearGradientBrush x:Key="PressedBackgroundBrush" StartPoint="0,0" EndPoint="0,1">
         <GradientStop Offset="0" Color="#FFE3C085" />
         <GradientStop Offset="0.19" Color="#FFF4CC89" />
         <GradientStop Offset="0.36" Color="#FFF5C777" />
         <GradientStop Offset="0.36" Color="#FFF5BB56" />
         <GradientStop Offset="0.79" Color="#FFF4CE9A" />
         <GradientStop Offset="1" Color="#FFF3E28D" />
      </LinearGradientBrush>

      <Style x:Key="FormatBarToggleButtonStyle" TargetType="{x:Type ToggleButton}">
         <Setter Property="Background" Value="Transparent" />
         <Setter Property="BorderBrush" Value="Transparent" />
         <Setter Property="BorderThickness" Value="1" />
         <Setter Property="FocusVisualStyle" Value="{x:Null}" />
         <Setter Property="Height" Value="22" />
         <Setter Property="HorizontalContentAlignment" Value="Center" />
         <Setter Property="ToolTipService.InitialShowDelay" Value="900" />
         <Setter Property="ToolTipService.ShowDuration" Value="20000" />
         <Setter Property="ToolTipService.BetweenShowDelay" Value="0" />
         <Setter Property="Template">
            <Setter.Value>
               <ControlTemplate TargetType="{x:Type ToggleButton}">
                  <Grid SnapsToDevicePixels="True">
                     <Border x:Name="OuterBorder" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" CornerRadius="2" />
                     <Border x:Name="MiddleBorder" BorderBrush="Transparent" BorderThickness="{TemplateBinding BorderThickness}" Background="Transparent" CornerRadius="2">
                        <Border x:Name="InnerBorder" BorderBrush="Transparent" BorderThickness="{TemplateBinding BorderThickness}" Background="Transparent" CornerRadius="2" Padding="{TemplateBinding Padding}">
                           <StackPanel x:Name="StackPanel" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}">
                              <ContentPresenter x:Name="Content"
                                                Content="{TemplateBinding Content}"
                                                Margin="1"
                                                RenderOptions.BitmapScalingMode="NearestNeighbor"
                                                VerticalAlignment="Center"
                                                HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" />
                           </StackPanel>
                        </Border>
                     </Border>
                  </Grid>
                  <ControlTemplate.Triggers>
                     <Trigger Property="IsMouseOver" Value="True">
                        <Setter Property="Background" TargetName="OuterBorder" Value="{StaticResource MouseOverBackgroundBrush}" />
                        <Setter Property="BorderBrush" TargetName="OuterBorder" Value="{StaticResource MouseOverBorderBrush}" />
                        <Setter Property="BorderBrush" TargetName="InnerBorder" Value="#80FFFFFF" />
                     </Trigger>

                     <Trigger Property="IsEnabled" Value="False">
                        <Setter Property="Opacity" TargetName="Content" Value="0.5" />
                        <Setter Property="TextElement.Foreground" TargetName="OuterBorder" Value="#FF9E9E9E" />
                     </Trigger>

                     <Trigger Property="IsChecked" Value="True">
                        <Setter Property="Background" TargetName="OuterBorder" Value="{StaticResource CheckedBackgroundBrush}" />
                        <Setter Property="BorderBrush" TargetName="OuterBorder" Value="{StaticResource CheckedBorderBrush}" />
                        <Setter Property="BorderBrush" TargetName="InnerBorder">
                           <Setter.Value>
                              <LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
                                 <GradientStop Color="#FFE7CBAD" Offset="0" />
                                 <GradientStop Color="#FFF7D7B5" Offset="0.1" />
                                 <GradientStop Color="#FFFFD38C" Offset="0.36" />
                                 <GradientStop Color="#FFFFC75A" Offset="0.36" />
                                 <GradientStop Color="#FFFFEFA5" Offset="1" />
                              </LinearGradientBrush>
                           </Setter.Value>
                        </Setter>
                     </Trigger>

                     <Trigger Property="IsPressed" Value="True">
                        <Setter Property="Background" TargetName="OuterBorder" Value="{StaticResource PressedBackgroundBrush}" />
                        <Setter Property="BorderBrush" TargetName="OuterBorder" Value="{StaticResource PressedBorderBrush}" />
                        <Setter Property="BorderBrush" TargetName="InnerBorder" Value="Transparent" />
                     </Trigger>

                     <MultiTrigger>
                        <MultiTrigger.Conditions>
                           <Condition Property="IsChecked" Value="True" />
                           <Condition Property="IsMouseOver" Value="True" />
                        </MultiTrigger.Conditions>
                        <Setter Property="Background" TargetName="MiddleBorder">
                           <Setter.Value>
                              <LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
                                 <GradientStop Color="#40FFFEFE" Offset="0" />
                                 <GradientStop Color="#40FFFEFE" Offset="0.39" />
                                 <GradientStop Color="#20FFCE68" Offset="0.39" />
                                 <GradientStop Color="#20FFCE68" Offset="0.69" />
                                 <GradientStop Color="#10FFFFFF" Offset="1" />
                              </LinearGradientBrush>
                           </Setter.Value>
                        </Setter>
                     </MultiTrigger>
                  </ControlTemplate.Triggers>
               </ControlTemplate>
            </Setter.Value>
         </Setter>
      </Style>

      <Style x:Key="FontColorButtonStyle" TargetType="{x:Type ToggleButton}">
         <Setter Property="Background" Value="Transparent" />
         <Setter Property="BorderBrush" Value="Transparent" />
         <Setter Property="BorderThickness" Value="1" />
         <Setter Property="FocusVisualStyle" Value="{x:Null}" />
         <Setter Property="Height" Value="22" />
         <Setter Property="HorizontalContentAlignment" Value="Center" />
         <Setter Property="ToolTipService.InitialShowDelay" Value="900" />
         <Setter Property="ToolTipService.ShowDuration" Value="20000" />
         <Setter Property="ToolTipService.BetweenShowDelay" Value="0" />
         <Setter Property="Template">
            <Setter.Value>
               <ControlTemplate TargetType="{x:Type ToggleButton}">
                  <Grid SnapsToDevicePixels="True">
                     <Border x:Name="OuterBorder" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="2" />
                     <Border x:Name="MiddleBorder" BorderBrush="Transparent" BorderThickness="{TemplateBinding BorderThickness}" Background="Transparent" CornerRadius="2">
                        <Border x:Name="InnerBorder" BorderBrush="Transparent" BorderThickness="{TemplateBinding BorderThickness}" Background="Transparent" CornerRadius="2" Padding="{TemplateBinding Padding}">
                           <Grid>
                              <Grid.ColumnDefinitions>
                                 <ColumnDefinition Width="*" />
                                 <ColumnDefinition />
                              </Grid.ColumnDefinitions>

                              <Grid>
                                 <Image Source="./Images/FontColorPicker16.png" Width="16" Height="16" />
                                 <Rectangle Grid.Row="1"
                                            Height="4"
                                            Margin="0,12,0,0"
                                            Fill="{Binding SelectedColor, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=local:ColorPicker}, Converter={StaticResource ColorToSolidColorBrushConverter}}" />
                              </Grid>

                              <Path Grid.Column="1"
                                    Width="7"
                                    Height="4" 
                                    Data="M 0,1 C0,1 0,0 0,0 0,0 3,0 3,0 3,0 3,1 3,1 3,1 4,1 4,1 4,1 4,0 4,0 4,0 7,0 7,0 7,0 7,1 7,1 7,1 6,1 6,1 6,1 6,2 6,2 6,2 5,2 5,2 5,2 5,3 5,3 5,3 4,3 4,3 4,3 4,4 4,4 4,4 3,4 3,4 3,4 3,3 3,3 3,3 2,3 2,3 2,3 2,2 2,2 2,2 1,2 1,2 1,2 1,1 1,1 1,1 0,1 0,1 z" Fill="#FF000000" />
                           </Grid>
                        </Border>
                     </Border>
                  </Grid>
                  <ControlTemplate.Triggers>
                     <Trigger Property="IsMouseOver" Value="True">
                        <Setter Property="Background" TargetName="OuterBorder" Value="{StaticResource MouseOverBackgroundBrush}" />
                        <Setter Property="BorderBrush" TargetName="OuterBorder" Value="{StaticResource MouseOverBorderBrush}" />
                        <Setter Property="BorderBrush" TargetName="InnerBorder" Value="#80FFFFFF" />
                     </Trigger>

                     <Trigger Property="IsEnabled" Value="False">
                        <Setter Property="TextElement.Foreground" TargetName="OuterBorder" Value="#FF9E9E9E" />
                     </Trigger>

                     <Trigger Property="IsChecked" Value="True">
                        <Setter Property="Background" TargetName="OuterBorder" Value="{StaticResource CheckedBackgroundBrush}" />
                        <Setter Property="BorderBrush" TargetName="OuterBorder" Value="{StaticResource CheckedBorderBrush}" />
                        <Setter Property="BorderBrush" TargetName="InnerBorder">
                           <Setter.Value>
                              <LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
                                 <GradientStop Color="#FFE7CBAD" Offset="0" />
                                 <GradientStop Color="#FFF7D7B5" Offset="0.1" />
                                 <GradientStop Color="#FFFFD38C" Offset="0.36" />
                                 <GradientStop Color="#FFFFC75A" Offset="0.36" />
                                 <GradientStop Color="#FFFFEFA5" Offset="1" />
                              </LinearGradientBrush>
                           </Setter.Value>
                        </Setter>
                     </Trigger>

                     <Trigger Property="IsPressed" Value="True">
                        <Setter Property="Background" TargetName="OuterBorder" Value="{StaticResource PressedBackgroundBrush}" />
                        <Setter Property="BorderBrush" TargetName="OuterBorder" Value="{StaticResource PressedBorderBrush}" />
                        <Setter Property="BorderBrush" TargetName="InnerBorder" Value="Transparent" />
                     </Trigger>

                     <MultiTrigger>
                        <MultiTrigger.Conditions>
                           <Condition Property="IsChecked" Value="True" />
                           <Condition Property="IsMouseOver" Value="True" />
                        </MultiTrigger.Conditions>
                        <Setter Property="Background" TargetName="MiddleBorder">
                           <Setter.Value>
                              <LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
                                 <GradientStop Color="#40FFFEFE" Offset="0" />
                                 <GradientStop Color="#40FFFEFE" Offset="0.39" />
                                 <GradientStop Color="#20FFCE68" Offset="0.39" />
                                 <GradientStop Color="#20FFCE68" Offset="0.69" />
                                 <GradientStop Color="#10FFFFFF" Offset="1" />
                              </LinearGradientBrush>
                           </Setter.Value>
                        </Setter>
                     </MultiTrigger>
                  </ControlTemplate.Triggers>
               </ControlTemplate>
            </Setter.Value>
         </Setter>
      </Style>

      <Style x:Key="FontBackgrounColorButtonStyle" TargetType="{x:Type ToggleButton}">
         <Setter Property="Background" Value="White" />
         <Setter Property="BorderBrush" Value="Transparent" />
         <Setter Property="BorderThickness" Value="1" />
         <Setter Property="FocusVisualStyle" Value="{x:Null}" />
         <Setter Property="Height" Value="22" />
         <Setter Property="HorizontalContentAlignment" Value="Center" />
         <Setter Property="ToolTipService.InitialShowDelay" Value="900" />
         <Setter Property="ToolTipService.ShowDuration" Value="20000" />
         <Setter Property="ToolTipService.BetweenShowDelay" Value="0" />
         <Setter Property="Template">
            <Setter.Value>
               <ControlTemplate TargetType="{x:Type ToggleButton}">
                  <Grid SnapsToDevicePixels="True">
                     <Border x:Name="OuterBorder" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="2" />
                     <Border x:Name="MiddleBorder" BorderBrush="Transparent" BorderThickness="{TemplateBinding BorderThickness}" Background="Transparent" CornerRadius="2">
                        <Border x:Name="InnerBorder" BorderBrush="Transparent" BorderThickness="{TemplateBinding BorderThickness}" Background="Transparent" CornerRadius="2" Padding="{TemplateBinding Padding}">
                           <Grid>
                              <Grid.ColumnDefinitions>
                                 <ColumnDefinition Width="*" />
                                 <ColumnDefinition />
                              </Grid.ColumnDefinitions>

                              <Grid>
                                 <Image Source="./Images/TextHighlightColorPicker16.png" Width="16" Height="16" />
                                 <Rectangle Grid.Row="1"
                                            Height="4"
                                            Margin="0,12,0,0"
                                            Fill="{Binding SelectedColor, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=local:ColorPicker}, Converter={StaticResource ColorToSolidColorBrushConverter}}" />
                              </Grid>

                              <Path Grid.Column="1"
                                    Width="7"
                                    Height="4" 
                                    Data="M 0,1 C0,1 0,0 0,0 0,0 3,0 3,0 3,0 3,1 3,1 3,1 4,1 4,1 4,1 4,0 4,0 4,0 7,0 7,0 7,0 7,1 7,1 7,1 6,1 6,1 6,1 6,2 6,2 6,2 5,2 5,2 5,2 5,3 5,3 5,3 4,3 4,3 4,3 4,4 4,4 4,4 3,4 3,4 3,4 3,3 3,3 3,3 2,3 2,3 2,3 2,2 2,2 2,2 1,2 1,2 1,2 1,1 1,1 1,1 0,1 0,1 z" Fill="#FF000000" />
                           </Grid>
                        </Border>
                     </Border>
                  </Grid>
                  <ControlTemplate.Triggers>
                     <Trigger Property="IsMouseOver" Value="True">
                        <Setter Property="Background" TargetName="OuterBorder" Value="{StaticResource MouseOverBackgroundBrush}" />
                        <Setter Property="BorderBrush" TargetName="OuterBorder" Value="{StaticResource MouseOverBorderBrush}" />
                        <Setter Property="BorderBrush" TargetName="InnerBorder" Value="#80FFFFFF" />
                     </Trigger>

                     <Trigger Property="IsEnabled" Value="False">
                        <Setter Property="TextElement.Foreground" TargetName="OuterBorder" Value="#FF9E9E9E" />
                     </Trigger>

                     <Trigger Property="IsChecked" Value="True">
                        <Setter Property="Background" TargetName="OuterBorder" Value="{StaticResource CheckedBackgroundBrush}" />
                        <Setter Property="BorderBrush" TargetName="OuterBorder" Value="{StaticResource CheckedBorderBrush}" />
                        <Setter Property="BorderBrush" TargetName="InnerBorder">
                           <Setter.Value>
                              <LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
                                 <GradientStop Color="#FFE7CBAD" Offset="0" />
                                 <GradientStop Color="#FFF7D7B5" Offset="0.1" />
                                 <GradientStop Color="#FFFFD38C" Offset="0.36" />
                                 <GradientStop Color="#FFFFC75A" Offset="0.36" />
                                 <GradientStop Color="#FFFFEFA5" Offset="1" />
                              </LinearGradientBrush>
                           </Setter.Value>
                        </Setter>
                     </Trigger>

                     <Trigger Property="IsPressed" Value="True">
                        <Setter Property="Background" TargetName="OuterBorder" Value="{StaticResource PressedBackgroundBrush}" />
                        <Setter Property="BorderBrush" TargetName="OuterBorder" Value="{StaticResource PressedBorderBrush}" />
                        <Setter Property="BorderBrush" TargetName="InnerBorder" Value="Transparent" />
                     </Trigger>

                     <MultiTrigger>
                        <MultiTrigger.Conditions>
                           <Condition Property="IsChecked" Value="True" />
                           <Condition Property="IsMouseOver" Value="True" />
                        </MultiTrigger.Conditions>
                        <Setter Property="Background" TargetName="MiddleBorder">
                           <Setter.Value>
                              <LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
                                 <GradientStop Color="#40FFFEFE" Offset="0" />
                                 <GradientStop Color="#40FFFEFE" Offset="0.39" />
                                 <GradientStop Color="#20FFCE68" Offset="0.39" />
                                 <GradientStop Color="#20FFCE68" Offset="0.69" />
                                 <GradientStop Color="#10FFFFFF" Offset="1" />
                              </LinearGradientBrush>
                           </Setter.Value>
                        </Setter>
                     </MultiTrigger>
                  </ControlTemplate.Triggers>
               </ControlTemplate>
            </Setter.Value>
         </Setter>
      </Style>

   </UserControl.Resources>

   <Border CornerRadius="3" BorderThickness="1" BorderBrush="Gray" Background="WhiteSmoke">
      <Grid Margin="5,0,5,5">
         <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
         </Grid.RowDefinitions>

         <Thumb x:Name="_dragWidget" Height="10" 
                   Template="{StaticResource ThumbControlTemplate}"
                   DragDelta="DragWidget_DragDelta" />

         <StackPanel Grid.Row="1">
            <StackPanel Orientation="Horizontal">
               <ComboBox x:Name="_cmbFontFamilies"
                         IsEditable="True"
                         Width="100"
                         SelectionChanged="FontFamily_SelectionChanged"
                         ToolTip="Font Family" />

               <ComboBox x:Name="_cmbFontSizes"
                         IsEditable="True"
                         Width="43"
                         SelectionChanged="FontSize_SelectionChanged"
                         ToolTip="Font Size"/>

               <Separator />

               <ToggleButton x:Name="_btnBullets"
                             Style="{StaticResource FormatBarToggleButtonStyle}"
                             Command="EditingCommands.ToggleBullets"
                             CommandTarget="{Binding ElementName=_window, Path=Target}"
                             Click="Bullets_Clicked"
                             ToolTip="Bullets">
                  <Image Source="./Images/Bullets16.png" />
               </ToggleButton>

               <ToggleButton x:Name="_btnNumbers"
                             Style="{StaticResource FormatBarToggleButtonStyle}"
                             Command="EditingCommands.ToggleNumbering"
                             CommandTarget="{Binding ElementName=_window, Path=Target}"
                             Click="Numbers_Clicked"
                             ToolTip="Numbering">
                  <Image Source="./Images/Numbering16.png" />
               </ToggleButton>

            </StackPanel>

            <StackPanel Orientation="Horizontal" Margin="0,3,0,0">
               <ToggleButton x:Name="_btnBold"
                             Style="{StaticResource FormatBarToggleButtonStyle}"
                             Command="EditingCommands.ToggleBold"
                             CommandTarget="{Binding ElementName=_window, Path=Target}"
                             ToolTip="Bold">
                  <Image Source="./Images/Bold16.png" />
               </ToggleButton>
               <ToggleButton x:Name="_btnItalic"
                             Style="{StaticResource FormatBarToggleButtonStyle}"
                             Command="{x:Static EditingCommands.ToggleItalic}"
                             CommandTarget="{Binding ElementName=_window, Path=Target}"
                             ToolTip="Italic">
                  <Image Source="./Images/Italic16.png" />
               </ToggleButton>
               <ToggleButton x:Name="_btnUnderline"
                             Style="{StaticResource FormatBarToggleButtonStyle}"
                             Command="{x:Static EditingCommands.ToggleUnderline}"
                             CommandTarget="{Binding ElementName=_window, Path=Target}"
                             ToolTip="Underline">
                  <Image Source="./Images/Underline16.png" />
               </ToggleButton>

               <Separator />

               <RadioButton x:Name="_btnAlignLeft"
                            Style="{StaticResource FormatBarToggleButtonStyle}"
                            Command="{x:Static EditingCommands.AlignLeft}"
                            CommandTarget="{Binding ElementName=_window, Path=Target}"
                            ToolTip="Align Left">
                  <Image Source="./Images/LeftAlign16.png" />
               </RadioButton>
               <RadioButton x:Name="_btnAlignCenter"
                            Style="{StaticResource FormatBarToggleButtonStyle}"
                            Command="{x:Static EditingCommands.AlignCenter}"
                            CommandTarget="{Binding ElementName=_window, Path=Target}"
                            ToolTip="Align Center">
                  <Image Source="./Images/CenterAlign16.png" />
               </RadioButton>
               <RadioButton x:Name="_btnAlignRight"
                            Style="{StaticResource FormatBarToggleButtonStyle}"
                            Command="{x:Static EditingCommands.AlignRight}"
                            CommandTarget="{Binding ElementName=_window, Path=Target}"
                            ToolTip="Align Right">
                  <Image Source="./Images/RightAlign16.png" />
               </RadioButton>

               <Separator />

               <local:ColorPicker x:Name="_cmbFontBackgroundColor"
                                  BorderThickness="0" 
                                  ButtonStyle="{StaticResource FontBackgrounColorButtonStyle}"
                                  SelectedColorChanged="FontBackgroundColor_SelectedColorChanged"
                                  ToolTip="Text Highlight Color" />

               <local:ColorPicker x:Name="_cmbFontColor"
                                  BorderThickness="0" 
                                  ButtonStyle="{StaticResource FontColorButtonStyle}"
                                  SelectedColorChanged="FontColor_SelectedColorChanged"
                                  ToolTip="Font Color" />

            </StackPanel>

         </StackPanel>
      </Grid>
   </Border>
</UserControl>
